.NET FrameworkクラスライブラリのSystem.Windows.Forms名前空間のDrawItemEventArgs.Indexプロパティの値は-1になることがあります。
具体的に言うと、リストボックスをオーナードローにするとDrawItemイベントでインデックスが-1の描画要求が来る可能性がある……ということです。
なぜこのような要求が来るのかというと、リストボックスにアイテムが1つも入っていない場合でも、空の枠を描画する必要があるためです。
少なくとも日本語版のMSDNのドキュメントで明示的な言及が見られなかったので、ちょっとメモ。
ちなみに、ドキュメントに載っているサンプルソースは、switch文で値を仕分けしていて-1の場合は単純にスルーするので正常に動きます。